/**
 * <pre>
 * Title: 		ServiceFactoryImpl.java
 * Author:		linriqing
 * Create:	 	2010-6-29 下午05:39:58
 * Copyright: 	Copyright (c) 2010
 * Company:		Shenzhen Helper
 * <pre>
 */
package com.hengpeng.itfin.service.impl;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Service;

import com.hengpeng.common.scheduling.SystemJobService;
import com.hengpeng.common.sequence.SequenceService;
import com.hengpeng.itfin.persist.DaoFactory;
import com.hengpeng.itfin.service.BorrowService;
import com.hengpeng.itfin.service.DrawFileService;
import com.hengpeng.itfin.service.DrawingService;
import com.hengpeng.itfin.service.EmailService;
import com.hengpeng.itfin.service.MessageService;
import com.hengpeng.itfin.service.PartnerService;
import com.hengpeng.itfin.service.PayService;
import com.hengpeng.itfin.service.PaymentService;
import com.hengpeng.itfin.service.PersistService;
import com.hengpeng.itfin.service.ServiceFactory;
import com.hengpeng.itfin.service.SmsService;
import com.hengpeng.itfin.service.TransferService;
import com.hengpeng.itfin.service.UserInfoService;
import com.hengpeng.itfin.service.account.AccountService;
import com.hengpeng.itfin.service.assign.AssignService;
import com.hengpeng.itfin.service.ehcache.EhchaceObservableService;
import com.hengpeng.itfin.service.ehcache.EhchaceService;
import com.hengpeng.itfin.service.investinfo.InvestInfoService;
import com.hengpeng.itfin.service.repayment.RepaymentService;
import com.hengpeng.itfin.sms.SmsSendService;

/**
 * <pre>
 * 业务服务接口工厂实现
 * </pre>
 * @author linriqing
 * @version 1.0, 2010-6-29
 */
@Service("serviceFactory")
public class ServiceFactoryImpl implements ServiceFactory, ApplicationContextAware
{
	private ApplicationContext applicationContext;

	@Autowired
	private PersistService jdbcPersistService;

	@Autowired
	private DaoFactory daoFactory;

	@Autowired
	public EhchaceObservableService ehchaceObservableService;

	@Autowired
	public EhchaceService ehchaceService;

	@Autowired
	private PartnerService partnerService;

	@Autowired
	private EmailService emailService;

	@Autowired
	private PaymentService paymentService;

	@Autowired
	private TransferService transferService;

	@Autowired
	private PayService payService;

	@Autowired
	private PersistService persistService;

	@Autowired
	private SequenceService sequenceService;

	@Autowired
	private SmsSendService smsSendService;

	@Autowired
	private SmsService smsService;

	@Autowired
	private SystemJobService systemJobService;

	@Autowired
	private UserInfoService userInfoService;

	@Autowired
	private RepaymentService repaymentService;

	@Autowired
	private AccountService accountService;

	@Autowired
	private BorrowService borrowService;

	@Autowired
	private InvestInfoService investInfoService;

	@Autowired
	private AssignService assignService;

	@Autowired
	private DrawingService drawingService;

	@Autowired
	private DrawFileService drawFileService;

	@Autowired
	private MessageService messageService;

	@Override
	public MessageService getMessageService()
	{
		return messageService;
	}

	@Override
	public DrawFileService getDrawFileService()
	{
		return drawFileService;
	}

	@Override
	public DrawingService getDrawingService()
	{
		return drawingService;
	}

	@Override
	public AssignService getAssignService()
	{
		return assignService;
	}

	@Override
	public ApplicationContext getApplicationContext()
	{
		return applicationContext;
	}

	public DaoFactory getDaoFactory()
	{
		return daoFactory;
	}

	public EhchaceObservableService getEhchaceObservableService()
	{
		return ehchaceObservableService;
	}

	public EhchaceService getEhchaceService()
	{
		return ehchaceService;
	}

	public PartnerService getPartnerService()
	{
		return partnerService;
	}

	@Override
	public EmailService getEmailService()
	{
		return this.emailService;
	}

	public PaymentService getPaymentService()
	{
		return paymentService;
	}

	@Override
	public PayService getPayService()
	{
		return payService;
	}

	public PersistService getPersistService()
	{
		return persistService;
	}

	public SequenceService getSequenceService()
	{
		return sequenceService;
	}

	public SmsSendService getSmsSendService()
	{
		return smsSendService;
	}

	@Override
	public SmsService getSmsService()
	{
		return smsService;
	}

	@Override
	public SystemJobService getSystemJobService()
	{
		return systemJobService;
	}

	@Override
	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
	{
		this.applicationContext = applicationContext;
	}

	@Override
	public PersistService getJdbcPersistService()
	{
		return jdbcPersistService;
	}

	@Override
	public UserInfoService getUserInfoService()
	{
		return userInfoService;
	}

	@Override
	public RepaymentService getRepaymentService()
	{
		return repaymentService;
	}

	@Override
	public AccountService getAccountService()
	{
		return accountService;
	}

	@Override
	public BorrowService getBorrowService()
	{
		return borrowService;
	}

	@Override
	public InvestInfoService getInvestInfoService()
	{
		return investInfoService;
	}

	@Override
	public TransferService getTransferService()
	{
		return transferService;
	}
}
